1. Field of the Invention
The invention relates to a control chip for an optical disk drive and a method for updating firmware in the control chip, and more particularly to a control chip for an optical disk drive, which executes firmware update actions by a macro unit and a DMA (Direct Memory Access) unit, and a method for updating firmware in the control chip.
2. Description of the Related Art
FIG. 1 shows a control architecture diagram of a typical optical drive, such as a CD-ROM. As shown in FIG. 1, the optical drive 10 utilizes an optical pickup, which is disposed in a sled motor and pickup assembly 102, to retrieve data stored in an optical disk 100 and then output a radio frequency (RF) signal. An RF amplifier and controller 110 is used to receive and amplify the RF signal and to output a amplified signal to a decoder 114. The decoder 114 receives the amplified signal and decodes the amplified signal to generate decoded data. The decoded data are then stored in a buffer memory 116. A microprocessor 112 is used to control operations and functions of the optical drive 10. For instance, the microprocessor 112 is used to control the RF amplifier and controller 110 and the decoder 114, to drive the spindle motor 101, the sled motor and optical head assembly 102, and the like. The microprocessor 112 is further connected to a non-volatile memory 118 to read firmware information, such as update program routines and commands to control and operate the optical drive 10. Users can utilize a host 122 to read the data in the buffer memory 116 via a host interface 120.
Because the computer industry is rapidly developed, hardware peripherals, such as optical drive, are also rapidly developed. In order to continuously update the function and operation of the optical drive, the firmware stored in the non-volatile memory is typically updated. Generally, when the firmware of the optical drive is updated, the update program routine being executed and the data being updated are stored in the non-volatile memory. However, this method reduces the usable space in the non-volatile memory and lengthens the time for updating the firmware.
In addition, U.S. Pat. No. 6,170,043, entitled “Method for controlling an optic disk” disclosed another update method. FIG. 2 shows an architecture diagram of the control chip in this patent. The control chip 200 includes an extra memory 202, a microprocessor 204, a decoder 206, and a controller 208. In the method disclosed in this patent application, when the firmware is to be updated, the update program routine is stored in the extra memory 202 and a flash ROM (non-volatile memory) 210 is regarded as a data storage space. In this method, the usable space in the non-volatile memory 210 is not occupied, and the speed for updating the firmware may be increased. However, this method has the following drawbacks. That is, since the microprocessor executes the operation of either reading the update program routine or writing the data in the non-volatile memory by software, the microprocessor cannot perform other works, such as accessing the data of the host, when the data are written. In addition, it takes longer time for the microprocessor to execute the software to compute the address of the extra memory.